﻿' LibWowArmory
' by Ronald M. Clifford (roncli@roncli.com)
'
' This source code is released under the GNU Library General Public License (LGPL) Version 2.1.

Imports System.Collections.ObjectModel

Namespace roncliProductions.LibWowArmory.Character

    ''' <summary>
    ''' A class containing information about a specific instance of an item.
    ''' </summary>
    ''' <remarks></remarks>
    Public Class TooltipParams

        Private colGems As Collection(Of Integer)
        ''' <summary>
        ''' A list of item IDs representing the item's socketed gems.
        ''' </summary>
        ''' <value></value>
        ''' <returns></returns>
        ''' <remarks></remarks>
        Public ReadOnly Property Gems As Collection(Of Integer)
            Get
                Return colGems
            End Get
        End Property

        ''' <summary>
        ''' The ID number of the item's random enchantment.
        ''' </summary>
        ''' <value></value>
        ''' <returns></returns>
        ''' <remarks></remarks>
        Public Property Suffix As Integer

        ''' <summary>
        ''' The random seed.
        ''' </summary>
        ''' <value></value>
        ''' <returns></returns>
        ''' <remarks>Likely used internally by Blizzard to determine what the suffix should be.</remarks>
        Public Property Seed As Integer

        ''' <summary>
        ''' The ID number of the effect of the item enchantment.
        ''' </summary>
        ''' <value></value>
        ''' <returns></returns>
        ''' <remarks></remarks>
        Public Property Enchant As Integer

        ''' <summary>
        ''' Indicates whether the item has an extra gem socket.
        ''' </summary>
        ''' <value></value>
        ''' <returns></returns>
        ''' <remarks></remarks>
        Public Property ExtraSocket As Boolean

        Private colSet As Collection(Of Integer)
        ''' <summary>
        ''' A list containing the ID numbers of the other items in the same set as this item that the character has equipped.
        ''' </summary>
        ''' <value></value>
        ''' <returns></returns>
        ''' <remarks></remarks>
        Public ReadOnly Property [Set] As Collection(Of Integer)
            Get
                Return colSet
            End Get
        End Property

        ''' <summary>
        ''' The ID number of the reforging done on this item.
        ''' </summary>
        ''' <value></value>
        ''' <returns></returns>
        ''' <remarks></remarks>
        Public Property Reforge As Integer

        Protected Friend Sub New(intGems As Collection(Of Integer), intSuffix As Integer, intSeed As Integer, intEnchant As Integer, blnExtraSocket As Boolean, intSet As Collection(Of Integer), intReforge As Integer)
            colGems = intGems
            Suffix = intSuffix
            Seed = intSeed
            Enchant = intEnchant
            ExtraSocket = blnExtraSocket
            colSet = intSet
            Reforge = intReforge
        End Sub

    End Class

End Namespace
